cppforever.com

#if, #elif, #else #endif

Allows more complex conditional logic.

#define VERSION 2

#if VERSION == 1
    std::cout << "Version 1\n";
#elif VERSION == 2
    std::cout << "Version 2\n";
#else
    std::cout << "Unknown version\n";
#endif